<?php

class controlador_sitios {

    /**
     * Método para mostrar los datos del sitio
     */
    public function ver_sitio() {
        if ($_SESSION['weokey_publicidad_tipo_usuario'] == md5('comercial') || $_SESSION['weokey_publicidad_tipo_usuario'] == md5('administrador')) {
            $obj_sitio = new Sitio();
            if (!$obj_sitio->get($_GET['id'])) {
                header('location:../listado_sitios');
            }
            if ($_SESSION['weokey_publicidad_tipo_usuario'] == md5('comercial')) {
                $template = 'template_comercial';
            } else if ($_SESSION['weokey_publicidad_tipo_usuario'] == md5('administrador')) {
                $template = 'template_administrador';
            }
            require 'app/views/ver_sitio.php';
        } else {
            header('location:../inicio');
        }
    }

    /**
     * metodo para listar todos los sitios
     */
    public function listado_sitios() {
        if ($_SESSION['weokey_publicidad_tipo_usuario'] == md5('comercial') || $_SESSION['weokey_publicidad_tipo_usuario'] == md5('administrador')) {
            $obj_sitio = new Sitio();
            $params_sitios = $obj_sitio->obtener_todos_sitios();
            if ($_SESSION['weokey_publicidad_tipo_usuario'] == md5('comercial')) {
                $template = 'template_comercial';
            } else if ($_SESSION['weokey_publicidad_tipo_usuario'] == md5('administrador')) {
                $template = 'template_administrador';
            }
            require 'app/views/listado_sitios.php';
        } else {
            header('location:inicio');
        }
    }

    /**
     * Método para registrar un sitio
     */
    public function registrar() {
        if ($_SESSION['weokey_publicidad_tipo_usuario'] != md5('administrador')) {
            header('location:inicio');
        } else {
            if ($_SERVER['REQUEST_METHOD'] == 'POST') {
                $obj_sitio = new Sitio();

                //Limpiamos los campos y los guardamos en variables
                $nombre = test_input($_POST['nombre']);
                $descripcion = test_input($_POST['descripcion']);
                $url = test_input($_POST['url']);

                $array_datos = array(
                    "nombre" => $nombre,
                    "descripcion" => $descripcion,
                    "url" => $url);

                $obj_sitio->set($array_datos);
                $ultimo_id = $obj_sitio->get_last_id();

                $_SESSION['publicidad_msj'] = 'Sitio registrado correctamente.';
                header("location:ver_sitio/$ultimo_id");
            } else {
                $template = "template_administrador";
                require 'app/views/registro_sitio.php';
            }
        }
    }

    /**
     * Formulario para editar sitio
     */
    public function editar() {
        if ($_SESSION['weokey_publicidad_tipo_usuario'] == md5('administrador')) {
            if ($_SERVER['REQUEST_METHOD'] == 'POST') {
                $obj_sitio = new Sitio();

                //Limpiamos los campos y los guardamos en variables
                $nombre = test_input($_POST['nombre']);
                $descripcion = test_input($_POST['descripcion']);
                $url = test_input($_POST['url']);
                $id = $_GET['id'];

                $array_datos = array(
                    "id" => $id,
                    "nombre" => $nombre,
                    "descripcion" => $descripcion,
                    "url" => $url
                );

                $obj_sitio->edit($array_datos);
                $_SESSION['publicidad_msj'] = 'Sitio modificado correctamente.';
                header("location: ../ver_sitio/$id");
            } else {
                $obj_sitio = new Sitio();
                if (!$obj_sitio->get($_GET['id'])) {
                    header('location:../listado_sitios');
                } else {
                    $template = 'template_administrador';
                    require 'app/views/modificar_sitio.php';
                }
            }
        } else {
            header('location:../inicio');
        }
    }

    /**
     * Método para eliminar un sitio
     */
    public function eliminar() {
        if ($_SESSION['weokey_publicidad_tipo_usuario'] == md5('administrador')) {
            $obj_sitio = new Sitio();
            $obj_sitio->delete($_GET['id']);
            $_SESSION['publicidad_msj'] = 'Sitio eliminado correctamente.';
            header('location:../listado_sitios');
        } else {
            header('location:inicio');
        }
    }

}

?>